package com.xinda.admin.dao;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.xinda.admin.pojo.Admin;
import com.xinda.admin.pojo.AdminRole;
/**
 * 
	* <p>Title:AdminMapper </p>
	* <p>Description: 管理员mapper</p>
	* <p>Company: </p> 
	* @author Administrator
	* @date 2017年8月23日下午4:36:06
 */
public interface AdminMapper {
	
	/**
	 * 查询管理员总数
	 */
	Integer countAdmin();
	/**
	 * 查询所有管理员
	 * @return
	 */
	List<Admin> selectAllAdmin(Map<String,String> conditionsMap);
	/**
	 * 查询管理员角色
	 * @return
	 */
	List<AdminRole> selectAllAdminRole();
	/**
	 * 增加管理员
	 * @param admin
	 */
	void insertAdmin(Admin admin);
	/**
	 * 删除管理员
	 * @param id
	 */
	void delAdminById(Integer id);
	/**
	 * 批量删除管理员
	 * @param id
	 */
	void delAdmins(String[] id);
	/**
	 * 根据id查询单个管理员
	 * @param id
	 * @return
	 */
	Admin selectAdminById(Integer id);
	/**
	 * 停用管理员
	 * @param id
	 */
	void stopAdmin(Integer id);
	/**
	 * 启用管理员
	 * @param id
	 */
	void startAdmin(Integer id);
	/**
	 * 编辑管理员
	 */
	void editAdmin(Admin admin);
	/**
	 * 登录验证：根据管理员名查询管理员
	 * @param adminName
	 * @return
	 */
	Admin findAdminByAdminName(String adminName);
	/**
	 * 设置上次登录信息
	 */
	void setLastLogin(@Param("username") String username, @Param("date") Date date,@Param("ip") String ip);
	/**
	 * 按名字查询登录管理员的权限
	 */
	Integer selectAdminRoleByName(String username);
}
